package cn.com.yusys.yusp.admin.repository.mapper;

import cn.com.yusys.yusp.admin.domain.WcrmMarketActivity;
import cn.com.yusys.yusp.commons.mapper.CommonMapper;
import cn.com.yusys.yusp.commons.mapper.QueryModel;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;


/**
 * 营销活动表(WcrmMarketActivity)表数据库访问层
 *
 * @author pig4cloud
 * @since 2021-06-24 10:24:08
 */
public interface WcrmMarketActivityMapper extends CommonMapper<WcrmMarketActivity> {

	/**
	 * 通过ID查询单条数据
	 *
	 * @param id 主键
	 * @return 实例对象
	 */
	WcrmMarketActivity queryById(String id);

	/**
	 * 查询指定行数据
	 *
	 * @param offset 查询起始位置
	 * @param limit  查询条数
	 * @return 对象列表
	 */
	List<WcrmMarketActivity> queryAllByLimit(@Param("offset") int offset, @Param("limit") int limit);


	/**
	 * 通过实体作为筛选条件查询
	 *
	 * @param wcrmMarketActivity 实例对象
	 * @return 对象列表
	 */
	List<WcrmMarketActivity> queryAll(WcrmMarketActivity wcrmMarketActivity);

	/**
	 * 新增数据
	 *
	 * @param wcrmMarketActivity 实例对象
	 * @return 影响行数
	 */
	int insert(WcrmMarketActivity wcrmMarketActivity);

	/**
	 * 批量新增数据（MyBatis原生foreach方法）
	 *
	 * @param entities List<WcrmMarketActivity> 实例对象列表
	 * @return 影响行数
	 */
	int insertBatch(@Param("entities") List<WcrmMarketActivity> entities);

	/**
	 * 批量新增或按主键更新数据（MyBatis原生foreach方法）
	 *
	 * @param entities List<WcrmMarketActivity> 实例对象列表
	 * @return 影响行数
	 */
	int insertOrUpdateBatch(@Param("entities") List<WcrmMarketActivity> entities);

	/**
	 * 修改数据
	 *
	 * @param wcrmMarketActivity 实例对象
	 * @return 影响行数
	 */
	int update(WcrmMarketActivity wcrmMarketActivity);

	/**
	 * 通过主键删除数据
	 *
	 * @param id 主键
	 * @return 影响行数
	 */
	int deleteById(String id);


	List<Map<String, Object>> queryTableData(QueryModel queryModel);


	int insertMarketActivity(Map queryModel);

	int updateMarketActivity(Map queryModel);

	void deleteMarketActivityById(String[] ids);

	List<Map<String, Object>> selectNotLeafNodeId();


	Map<String, Object> selectSmUser(String userID);

	int insertBatchMgr(@Param("entities")  List<WcrmMarketActivity> entities);
}